package com.uncp.comisiondeadmision.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;

import com.uncp.comisiondeadmision.util.entity.ERequisito;

public class DRequisito implements IDRequisito {

	private EntityManagerFactory emf ;
	private EntityManager em;
	
	
	public void setEmf(EntityManagerFactory emf) {
		this.emf = emf;
	}
	
	
	@SuppressWarnings("unchecked")
	public List<ERequisito> listarRequisitos(Integer codigo) throws Exception {
	
		 em = emf.createEntityManager();
			
		 List<ERequisito> lista = null;
		 String estado = "aprobado";
		try {

		   Query query = em.createQuery("select r from ERequisito r join " +
		   		"  r.modalidadesDetalle m join m.postulantes p join p.solicitudes s" +
		   		"  where  p.int_cod_postu=:codigo and s.str_estado not in(:estado)");
		  
		   query.setParameter("codigo", codigo);
		   query.setParameter("estado", estado);

		   lista = query.getResultList();
		   
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
	      em.close();
		}

		return lista;
	}

}
